<!--
	作者：779744514@qq.com
	时间：2015-08-20
	描述：内置指令ng-controller的作用是为嵌套在其中的指令创建一个子作用域，
	避免将所有的操作和模型都定义在app所创建的$rootscope.
	子$scope只是一个jacascrit对象，其中含有从父级$scope中通过原型继承得到的方法和属性，
	也包括应用的$rootscope。
-->
<!doctype html>
<html ng-app="myApp">
<head>
  <script src="js/angular.js"></script>
</head>
<body>

  <div ng-controller="SomeController">
    {{ someModel.someValue }}
    <button ng-click="someAction()">Communicate to child</button>
    <div ng-controller="ChildController">
      {{ someModel.someValue }}
      <button ng-click="childAction()">Communicate to parent</button>
    </div>
  </div>

  <script>
    angular.module('myApp', [])
    .controller('SomeController', function($scope) {
      // best practice, always use a model 最好的实践，永远使用一个模式
      $scope.someModel = {
        someValue: 'hello computer'//添加属性
      }
      //设置$scope自身的操作
      $scope.someAction = function() {
        $scope.someModel.someValue = 'hello human, from parent';
      };
    })
    .controller('ChildController', function($scope) {
      $scope.childAction = function() {
        $scope.someModel.someValue = 'hello human, from child';
      };
    });
  </script>

</body>
</html>